package org.example.mapper;

import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.example.bean.EmailBean;

import java.time.LocalDate;
import java.util.List;
@Mapper
public interface IEmailMapper {
    /**
     * 添加邮件
     * 1、添加邮件记录（默认现场时间）
     * 2、根据收件人id集合，邮件id，添加收件箱记录（状态默认未阅读）
     * @param emailBean
     */
    public void add(@Param("emailBean")EmailBean emailBean);
    public void addInBox(@Param("emailID")Integer emailID,@Param("acceptIDArray")int[] acceptIDArray);


    /**
     * 根据邮件id查询邮件信息
     * @param emailID 邮件id
     * @return 邮件对象
     */
    public EmailBean findByID(Integer emailID);

    /**
     * ”删除“邮件
     * 根据邮件id修改邮件状态为无效
     * @param emailID 邮件id
     */
    public void del(Integer emailID);

    /**
     * 分页动态查询发送的邮件
     * 动态分页查询（有效）邮件记录，登录员工id为固定条件，主题、起始日期、结束日期为动态条件
     * @param sendID 发件员工id
     * @param title 主题
     * @param starDate 起始日期
     * @param endDate 结束日期
     * @return 分页对象
     */
    public List<EmailBean> cutFindSendByItem(@Param("sendID") Integer sendID,
                                             @Param("title") String title,
                                             @Param("starDate") LocalDate starDate,
                                             @Param("endDate") LocalDate endDate);

}
